<?php
App::uses('AppController', 'Controller');

/**
 * Maneja la información a mostrar el la pÃ¡gina de inicio
 * 
 * @author vcanizares
 */
class InicioController extends AppController {
	
	/**
	 * Nombre del controlador
	 */
	public $name = 'Inicio';
	
	/**
	 * Constantes
	 */
	const ID_OPCION_MENU = 1;
	
	/**
	 * Componentes
	 */
	public $components = array('Menu');
	
	/**
	 * Helpers
	 */
	public $helpers = array('Observador', 'ClaseEdadSexo');
	
	/**
	 * Modelos
	 */
	public $uses = array('Cita', 'Fichero', 'AsoCitaObservador', 'AsoCitaClaseEdadSexo');
	
	/**
	 * Función que se ejecuta al carga la página inicial
	 */
	public function index() {
		
		// Generamos la opciones de menu
		$opciones_menu_superior = $this -> Menu -> generarItemsMenu($this::ID_OPCION_MENU);
		$this->set('opciones_menu_superior', $opciones_menu_superior);
		
		// Marcamos la opción de "Inicio"
		$this->set('is_pagina_inicio', TRUE);
		
		/**
		 * Citas
		 */
		$ultimasCitas = $this -> Cita -> find(
			'all', 
			array(
				'order'=>array('Cita.fechaAlta'=> 'Desc'), 
				'limit'=>100
			)
		);
		for ($index = 0 ; $index < count($ultimasCitas) ; $index++) {
			
			/*
			 * Observadores
			 */
			$observadores = $this -> AsoCitaObservador -> obtenerObservadoresPorCita($ultimasCitas[$index]['Cita']['id']);
			$ultimasCitas[$index]['observadores'] = $observadores;
			
			/*
			 * Clases edad sexo
			 */
			$ultimasCitas[$index]['clases_edad_sexo'] = $this -> AsoCitaClaseEdadSexo -> obtenerClasesEdadSexoPorCita($ultimasCitas[$index]['Cita']['id']);
		}
		$this->set('ultimasCitas', $ultimasCitas);
		
		/*
		 * Obtiene las 10 últimas fotos
		 */
		$ultimasFotos = $this -> Fichero -> obtenerFotosPortada(array('Fichero.fechaAlta'=> 'Desc'), 10);
		
		for ($index = 0 ; $index < count($ultimasFotos) ; $index++) {
			$ultimasFotos[$index]['Cita'] = $this -> Cita -> obtenerTodoPorId($ultimasFotos[$index]['Cita']['id']);
		}
		
		$this->set('ultimasFotos', $ultimasFotos);
	}
}
?>